const mongoose = require('./db');

// 定义商品信息 Schema
const productSchema = new mongoose.Schema({
    id: { type: String, required: true, unique: true }, // 商品 ID
    name: { type: String, required: true }, // 商品名称
    price: { type: Number, required: true }, // 商品价格
    description: { type: String, required: false }, // 商品描述
    category: { type: String, required: true }, // 商品类别
    createdAt: { type: Date, default: Date.now }, // 创建时间
});

// 创建商品信息模型
const Product = mongoose.model('productinf', productSchema);

// 增加商品功能
async function addProduct(productData) {
    try {
        const product = new Product(productData); // 创建商品实例
        const result = await product.save(); // 保存到数据库
        return result; // 返回保存结果
    } catch (error) {
        throw error; // 抛出错误
    }
}

//删除商品功能
async function deleteProduct(productId) {
    try {
        const result = await Product.deleteOne({ id: productId }); // 删除商品
        console.log('id:', productId); // 打印商品 ID
        return result; // 返回删除结果
    } catch (error) {
        throw error; // 抛出错误
    }
}

//查询商品功能
async function findProduct(productId) {
    try {
        const result = await Product.findOne({ id: productId }); // 查找商品
        return result; // 返回查询结果
    } catch (error) {
        throw error; // 抛出错误
    }
}

//修改商品功能
async function updateProduct(productId, productData) {
    try {
        const result = await Product.updateOne({ id: productId }, productData); // 更新商品
        return result; // 返回更新结果
    } catch (error) {
        throw error; // 抛出错误
    }
}

module.exports = { Product, addProduct, deleteProduct, findProduct, updateProduct };